1. Technical Field
This invention relates to computer networks, and more particularly to sending and retrieving data by the internet.
2. Description of the Related Art
Retrieving data from remote servers by the internet is impeded by the delays often encountered between the time data is requested and the time when it has been retrieved and is available for display. Users spend a lot of time waiting. The download time can vary significantly depending on several factors, including server load, the transmission bandwidth from the server to the client, and the amount of data to be downloaded; as such, this very pertinent information is context-sensitive.
Network traffic is not well distributed. At one time, a user will select a link from a hypertext document on the screen, and for a time there is heavy communication on the network between the user and the server. The user may wait for an annoyingly long period as the new page of data is downloaded. The user then reads the new page while the communication path between client and server remains idle; the server may indeed be doing no work if there are no other pending requests from other users. It would be desirable to even out this load so that the network is used a greater percentage of the time; this could provide a mode of operation where data is available when the user is ready for it, and thus the user spends less time waiting.
In an effort to speed up the delivery of data via networks, the speed and bandwidth of these networks has been greatly increased. An increase in speed and bandwidth of course results in faster delivery of requested data. However, this is a great cost in view of the extensive hardware upgrades needed. And part of this increase in cost is needless, if the delivery could be spread out in time so that loading on the network is more even, rather than in short bursts of large blocks of data. And, due to the ever-increasing number of users, the same result is soon obtained, i.e., long delays experienced by users yet sporadic loading of the network.
Many advances have been made in factors influencing user delay, such as compression of data so that less need be downloaded to present a given page of data, and caching of data on local or intermediate servers or stations so that it is more unlikely that bottlenecks will be encountered. Nevertheless, increases in the number of users and volume of information available and the volume of data per page has resulted in delays which keep occurring in spite of vast increases in delivery speed and technique.
A previously-used way of avoiding the problem of delays in viewing data requested via the internet is to use a program that will download all of the pages linked to a web page whenever this page is requested. However, this method unnecessarily loads the servers and network since excessive transmission of unneeded pages occurs.
Currently, most links provide no indication of response time. Some download files are posted with their file size listed, or offer an estimated download time based on hypothetical context. Also, users can install products such as the IBM "Web Browser Intelligence" product, which provides some degree of proxy of the server, but these simply provide an indication of whether the server for a link is accessible, and, if so, whether the net transmission time is "normal" or "relatively slow." There is no accurate, context-sensitive information about the time required to resolve a link.